/*
 * IWeatherUserModel
 *
 * Copyright 2008-2011 Centro Andaluz de Innovacion y Tecnologias de la
 * Informacion y las Comunicaciones (CITIC). All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 *
 * Please contact CITIC - Edificio CITIC, C/ Marie Curie, 6 Parque
 * Tecnologico de Andalucia 29590 - Campanillas, Malaga, Spain
 * or visit www.citic.es, if you need additional information or
 * have any questions.
 */

package es.citic.puedes.weatherservice.umm;

import java.util.List;

import es.citic.puedes.weatherservice.WeatherException;
import es.citic.puedes.weatherservice.model.Language;

public interface IWeatherUserModel {

	/**
	 * Store the current preference model of the user 
	 * 
	 * @throws WeatherException
	 *             If an exception occurred
	 */
	void saveUserModel() throws WeatherException;

	/**
	 * Get current preference model of the user 
	 * 
	 * @param language
	 *            Language for getting the preferences
	 * @return A list with the user's preferences
	 * @throws WeatherException
	 *             If an exception occurred
	 */
	List<WeatherPreferences> getPreferences(Language language)
			throws WeatherException;
}
